{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "compliant-oliver",
   "metadata": {},
   "source": [
    "# Tutorial\n",
    "In this tutorial, we'll work with the [MiniLibriMix](https://zenodo.org/record/3871592) dataset, a popular audio dataset.\n",
    "\n",
    "We fetch raw data from Zenodo, a public repository for academic datasets. This dataset consists of audio files in wav format.\n",
    "\n",
    "We then read wav files as numpy arrays using [Librosa](https://librosa.org/doc/latest/index.html), a popular Python package for music and audio analysis. \n",
    "\n",
    "We then push data to `activeloop/MiniLibriMix`, a public Hub repository. By making this dataset public, we allow others to work with the same dataset.\n",
    "\n",
    "Finally, we will fetch data from Hub. We can fetch slices of the dataset that we need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "pharmaceutical-george",
   "metadata": {},
   "outputs": [],
   "source": [
    "from hub.schema import Primitive, Audio, Text\n",
    "from hub import transform, schema\n",
    "from hub.api.datasetview import DatasetView\n",
    "import hub\n",
    "\n",
    "import librosa\n",
    "from librosa import display\n",
    "import numpy as np\n",
    "from glob import glob\n",
    "import os\n",
    "import requests\n",
    "import zipfile\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.style.use(\"ggplot\")\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "unique-telescope",
   "metadata": {},
   "source": [
    "## Fetch data\n",
    "We fetch data from Zenodo and unzip it to a folder."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "special-liverpool",
   "metadata": {},
   "outputs": [],
   "source": [
    "r = requests.get('https://zenodo.org/record/3871592/files/MiniLibriMix.zip?download=1')  \n",
    "\n",
    "with open('minilibrimix.zip', 'wb') as f:\n",
    "    f.write(r.content)\n",
    "    \n",
    "with zipfile.ZipFile('minilibrimix.zip', 'r') as z:\n",
    "    z.extractall('./data')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ranging-breathing",
   "metadata": {},
   "source": [
    "## Read data into arrays with Librosa\n",
    "The raw files are stored in wav format, so we use Librosa to read them into arrays before pushing to Hub. That's because everything - image, audio, text - is an array (or a tensor) to Hub. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "developed-retreat",
   "metadata": {},
   "outputs": [],
   "source": [
    "# grab file names\n",
    "fnames = glob(\"./data/MiniLibriMix/train/mix_both/*\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "prescription-commitment",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Amplitude')"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# lets visualized audio\n",
    "audio, sr = librosa.load(fnames[0])\n",
    "librosa.display.waveplot(audio, sr=sr)\n",
    "plt.ylabel(\"Time\")\n",
    "plt.xlabel(\"Amplitude\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "velvet-writing",
   "metadata": {},
   "source": [
    "## Push to Hub\n",
    "Once we represent audio data in arrays, we can push to Hub for collaborative work.\n",
    "\n",
    "To do so, we have to (1) define a schema and (2) push it to Hub through a transform."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "reduced-infrastructure",
   "metadata": {},
   "source": [
    "### Schemas\n",
    "Schemas provide valuable information about the data itself. For example, when we push audio files (in the form of arrays), we will also want to specify that it is an `Audio` type."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "pressed-ozone",
   "metadata": {},
   "outputs": [],
   "source": [
    "my_schema = {\n",
    "    \"audio_id\": Text(shape=(None, ), max_shape=(1000, )),\n",
    "    \"wav\": Audio(shape=(None,), max_shape=(192000,), file_format=\"wav\", dtype=float),\n",
    "    \"sampling_rate\": Primitive(dtype=int)\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "orange-miami",
   "metadata": {},
   "source": [
    "### Transform\n",
    "We operate on the list of file names - that is our input. We will \"transform\" this list of file names to numpy arrays through Librosa. After transforming, we want to return a dict for each sample."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "romantic-secretariat",
   "metadata": {},
   "outputs": [],
   "source": [
    "@transform(schema=my_schema)\n",
    "def load_transform(f):\n",
    "    audio_id = f.split('/')[-1].split('.')[0]\n",
    "    audio, sr = librosa.load(f, sr=None)\n",
    "    \n",
    "    return {\n",
    "        'audio_id': audio_id,\n",
    "        'wav': audio,\n",
    "        'sampling_rate': sr\n",
    "    }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "referenced-adult",
   "metadata": {},
   "outputs": [],
   "source": [
    "ds = load_transform(fnames)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "coupled-chancellor",
   "metadata": {},
   "source": [
    "## Push to Hub\n",
    "We can push to arbitrary locations. In this case, we will push our dataset to `activeloop/MiniLibriMix_mixboth`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "attended-version",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mynameisvinn/anaconda3/lib/python3.8/site-packages/zarr/creation.py:210: UserWarning: ignoring keyword argument 'mode'\n",
      "  warn('ignoring keyword argument %r' % k)\n",
      "Computing the transformation in chunks of size 87: 100%|██████████| 800/800 [01:56<00:00, 6.86 items/s] \n"
     ]
    }
   ],
   "source": [
    "url = \"activeloop/MiniLibriMix_mixboth\"\n",
    "ds2 = ds.store(url)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "liquid-greek",
   "metadata": {},
   "source": [
    "## Fetching from Hub\n",
    "Once we have data on Hub, we can easily split it into chunks for collaborative work. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "developed-bibliography",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x7f910ef31340>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "url = \"activeloop/MiniLibriMix_mixclean\"\n",
    "data = Dataset(url)\n",
    "\n",
    "idx = 0\n",
    "dd = data['wav'][idx].compute()  # fetch the first sample\n",
    "librosa.display.waveplot(dd)  # visualize spectrogram with librosa"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "handed-siemens",
   "metadata": {},
   "source": [
    "## Slicing\n",
    "We can also fetch slices of our dataset, thus reducing the need to move the entire dataset back and forth."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "indie-texture",
   "metadata": {},
   "outputs": [],
   "source": [
    "ds = hub.Dataset(\"activeloop/MiniLibriMix_mixclean\")\n",
    "dsv = DatasetView(ds, indexes=[1, 2, 3, 10, 11, 12])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "public-bronze",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x7f910f7ba1f0>"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sliced = dsv['wav'][0].compute()\n",
    "librosa.display.waveplot(sliced)  # visualize spectrogram with librosa"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "executed-clinic",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
